package boundary;

import java.util.Scanner;

import fachklassen.controls.Kundenverwaltung;

public class Kundendialog {
	
	private Kundenverwaltung kv;
	private Scanner ein= new Scanner(System.in);
	
	public Kundendialog(){
		kv= new Kundenverwaltung();
		beispieldatenEinspielen();
	}
	
	public Kundendialog(Kundenverwaltung kv) {
		this.kv = kv;
		beispieldatenEinspielen();
	}
	
	public void beispieldatenEinspielen(){
		// zur Arbeitserleichterung, m�sste im endg�ltigen System gel�scht werden
		kv.neuerKunde("Mirja","Wiesbaden");
		kv.neuerKunde("Sandra","Mainz");
		kv.neuerKunde("Udo","Frankfurt");
		kv.neuerKunde("Uwe","Osnabrück");
		kv.neuerKunde("Erkan","Oldenburg");
		kv.neuerKunde("Nabil","Münster");
		kv.neuerKunde("Ida","Bremen");
		kv.neuerKunde("Sergej","Osnabrück");
		kv.neuerKunde("Witali","Wilhelmshaven");
		kv.neuerKunde("Urs","Friedrichshafen");
	}

	public void starten(){
		int eingabe=-1;
		while (eingabe!=0){
			System.out.print("Was wollen Sie machen?\n"
					+" (0) Kundenverwaltung beenden\n"
					+" (1) Kunden hinzufügen\n"
					+" (2) Einzelne Kundendaten anzeigen\n"
					+" (3) Alle Kunden zeigen\n"
					+" (4) Einzelne Kundenadresse ändern:   ");
			eingabe=ein.nextInt();
			switch(eingabe){
				case 1:{
					kundenHinzufuegen();
					break;
				}
				case 2:{
					kundendatenAnzeigen();
					break;
				}
				case 3:{
					System.out.println(kv);
					break;
				}
				case 4:{
					kundenadresseAendern();
					break;
				}
			}
		}
	}
	
	private void kundenadresseAendern() {
		System.out.print("Für welche Kundennummer: ");
		int knr=ein.nextInt();
		System.out.print("Neue Adresse: ");
		String adresse=ein.next();
		kv.kundenAdresseAendern(knr, adresse);
	}

	public int kundenHinzufuegen(){
		//aktuell nur Eingaben ohne Leerzeichen erlaubt
		System.out.print("Kundenname: ");
		String name=ein.next();
		System.out.print("Adresse: ");
		String adresse=ein.next();
		int nr=kv.neuerKunde(name, adresse);
		System.out.println("Als Kunde "+nr+" eingerichtet");
		return nr;
	}
	
	private void kundendatenAnzeigen(){
		System.out.print("Für welche Kundennummer: ");
		System.out.println(kv.kundeZeigen(ein.nextInt()));
	}
	
	public Kundenverwaltung getKv() {
		return kv;
	}

	public static void main(String[] s){
		new Kundendialog().starten();
	}

}
